package com.financing.platform.service;

import java.sql.SQLException;
import java.util.HashMap;
import java.util.List;

import com.financing.platform.dto.BankCardDTO;
import com.financing.platform.dto.OrderByGaiZaoDTO;
import com.financing.platform.dto.OrderDTO;
import com.financing.platform.dto.WallettWithdrawDTO;
import com.financing.platform.dto.YouDanAmountDTO;
import com.financing.platform.vo.OrderManagerUserVO;
import com.financing.platform.vo.OrderVO;
import com.financing.platform.vo.WallettWithdrawVO;

public interface IYouDanAmountService extends IBaseService {
	/**
	 * 更新有单金额明细
	 */
	public int updateYouDanAmount(YouDanAmountDTO youDanAmount) throws SQLException;
	
	/**
	 * 新增有单金额明细
	 */
	public Integer insertYouDanAmount(YouDanAmountDTO youDanAmount) throws SQLException;
	
	/**
	 * 查询有单金额明细
	 */
	public YouDanAmountDTO getYouDanAmount(YouDanAmountDTO youDanAmount) throws SQLException;
	
	//*****************保证金相关***************
	/**
	 * 有单金额明细-保证金-冻结
	 */
	public int updateBaoZhengJin2Lock(String receiptId, String remark) throws SQLException;
	/**
	 * 有单金额明细-保证金-可提现
	 */
	public int updateBaoZhengJin2Unlock(String receiptId, String remark) throws SQLException;
	/**
	 * 有单金额明细-保证金-提现中
	 */
	public int updateBaoZhengJin2Withdraw(String receiptId, String remark) throws SQLException;
	/**
	 * 有单金额明细-保证金-提现成功
	 */
	public int updateBaoZhengJin2WithdrawSuccess(String receiptId, String remark, String platSerialNo) throws SQLException;
	/**
	 * 有单金额明细-保证金-提现失败
	 */
	public int updateBaoZhengJin2WithdrawFail(String receiptId, String remark, String platSerialNo) throws SQLException;
	
	/**
	 * 有单金额明细-保证金-失败
	 */
	public int updateBaoZhengJin2Fail(String receiptId, String remark) throws SQLException;
	
	//*****************佣金相关***************
	/**
	 * 有单金额明细-佣金-冻结
	 */
	public int updateYongJin2Lock(String orderId, String remark) throws SQLException;
	/**
	 * 有单金额明细-佣金-可提现
	 */
	public int updateYongJin2Unlock(String orderId, String remark) throws SQLException;
	/**
	 * 有单金额明细-佣金-提现中
	 */
	public int updateYongJin2Withdraw(String orderId, String remark) throws SQLException;
	/**
	 * 有单金额明细-佣金-提现成功
	 */
	public int updateYongJin2WithdrawSuccess(YouDanAmountDTO youDanAmount, String remark, String platSerialNo) throws SQLException;
	/**
	 * 有单金额明细-佣金-提现失败
	 * @param platSerialNo 
	 */
	public int updateYongJin2WithdrawFail(String orderId, String remark, String platSerialNo) throws SQLException;
	/**
	 * 有单金额明细-佣金-失败
	 */
	public int updateYongJin2Fail(String orderId, String remark) throws SQLException;
	/**
	 * 提现列表条数
	 */
	public Integer getYouDanWithdrawListCount(WallettWithdrawVO wallettWithdrawVO) throws SQLException;
	/**
	 * 提现列表
	 */
	public List<WallettWithdrawDTO> getYouDanWithdrawList(WallettWithdrawVO wallettWithdrawVO) throws SQLException;
	/**
	 * 查询用户表中的银行卡信息
	 */
	public BankCardDTO queryFaUserBankInfo(WallettWithdrawDTO wallettWithdrawDTO) throws SQLException;
	/**
	 * 查询非有单订单下的提现情况
	 */
	public List<YouDanAmountDTO> getCommonOrderAmountByAssociationId(String id) throws SQLException;
	
}
